// 这个文件书写的都是函数
// 每个函数对应的是一个接口的请求
// 我们有20个接口，每个接口我们都会封装成一个函数
// 后续我们发请求的时候，想要哪个接口的数据，直接调用哪个对应的接口请求函数
import request from '@/utils/request'
import mockRequest from '@/utils/mockAjax'
export const reqCategoryList = () => {
  return request({
    url:'/product/getBaseCategoryList',
    method:'get'
  })
}

// 第一种测试接口请求函数
// reqCategoryList()

export const reqBannerList = () => {
  return mockRequest({
    url:'/banner',
    method:'get'
  })
}

export const reqFloorList = () => {
  return mockRequest({
    url:'/floor',
    method:'get'
  })
}
// 请求获取搜索页面的动态数据
// data请求体参数从何而来，应该是你dispatch的时候传递

// 这个函数要发请求，需要的参数，肯定是调用的时候人为传递的
// 因为在actions当中我们调用这个函数发请求，参数我们需要给传递

// actions当中调用这个函数，在哪里调用，dispatch在调用actions的函数
// dispatch的时候要传递data参数，然后在actions内部函数中再去使用这个data函数调用接口请求函数

export const reqSearchGoodsInfo = (searchParams) => {
  return request({
    url:'/list',
    method:'POST',
    data:searchParams
  })
}

// 这个请求需要传递请求体参数，请求体参数是一堆搜索条件组成的对象
// 如果你传递的是一个空的对象，里面什么都没有，默认会返回一批数据，默认数据
// 但是如果你在这里不写参数，也就是说空的对象都不写，那么请求也会成功，但是返回数据失败
// reqSearchGoodsInfo({})


// 请求获取详情页数据
export const reqGoodsDetailInfo = (skuId) => {
  return request({
    url:`/item/${ skuId }`,
    method:'get',
  })
}

// 请求添加购物车
export const reqAddOrUpdateShopCart = (skuId,skuNum) => {
  return request({
    url:`/cart/addToCart/${ skuId }/${ skuNum }`,
    method:'post'
  })
}










